import os
import sys
import subprocess
import shutil

def build_executable():
    """
    使用PyInstaller将应用程序打包成可执行文件
    """
    print("开始打包应用程序...")

    # 确保输出目录存在
    if not os.path.exists('dist'):
        os.makedirs('dist')

    # 构建PyInstaller命令
    pyinstaller_cmd = [
        'pyinstaller',
        '--name=DashTool',
        '--windowed',  # 不显示控制台窗口
        '--onefile',   # 打包成单个可执行文件
        '--clean',     # 清理临时文件
        '--add-data=assets;assets',  # 添加资源文件（如果有）
        'main.py'
    ]

    # 执行PyInstaller命令
    try:
        subprocess.run(pyinstaller_cmd, check=True)
        print("应用程序打包成功！")
        print(f"可执行文件位于: {os.path.abspath('dist/DashTool.exe')}")
    except subprocess.CalledProcessError as e:
        print(f"打包失败: {e}")
        sys.exit(1)

if __name__ == "__main__":
    build_executable()
